package com.dxl.system.service;

import com.dxl.system.model.Type;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dxl.base.Result;
import java.util.List;

/**
 * <b> 文件类型服务接口
 * </b><br><br><i>Description</i> :
 * <br>Date: 2019-10-03    <br>Author : dxl
 */
public interface TypeService extends IService<Type>   {

    /**
     * <b> 插入文件类型
     * </b><br><br><i>Description</i> : 不能为空：文件类型后缀-type_suffix 打开文件的程序路径-exe_path ；不能重复：文件类型后缀-type_suffix  
     * @param type Type
     * @return com.dxl.base.Result Type
     * <br><br>Date: 2019-10-03    <br>Author : dxl
     */
    public Result addOne(Type type);

    /**
     * <b> 删除文件类型
     * </b><br><br><i>Description</i> : 
     * @param typeIds List: Integer
     * @return com.dxl.base.Result int
     * <br><br>Date: 2019-10-03    <br>Author : dxl
     */
    public Result delByIds(List<Integer> typeIds);

    /**
     * <b> 编辑文件类型
     * </b><br><br><i>Description</i> : 不能重复：文件类型后缀-type_suffix 
     * @param type Type
     * @return com.dxl.base.Result Type
     * <br><br>Date: 2019-10-03    <br>Author : dxl
     */
    public Result editOne(Type type);

    /**
     * <b> ID查询文件类型
     * </b><br><br><i>Description</i> : 
     * @param typeId Integer
     * @return com.dxl.base.Result: Type
     * <br><br>Date: 2019-10-03    <br>Author : dxl
     */
    public Result getById(Integer typeId);

    /**
     * <b> 条件查询文件类型
     * </b><br><br><i>Description</i> : 
     * @param type Type
     * @return com.dxl.base.Result List: Type
     * <br><br>Date: 2019-10-03    <br>Author : dxl
     */
    public Result getList(Type type);

    /**
     * <b> 分页条件查询文件类型
     * </b><br><br><i>Description</i> : 
     * @param type Type, currentPage -Integer, pageSize -Integer
     * @return com.dxl.base.Result List: Type
     * <br><br>Date: 2019-10-03     <br>Author : dxl
     */
    public Result getListByPage(Type type, Integer currentPage, Integer pageSize);

    /**
     * <b> 文件类型能否新增
     * </b><br><br><i>Description</i> : 不能为空：文件类型后缀-type_suffix 打开文件的程序路径-exe_path ；不能重复：文件类型后缀-type_suffix  
     * @param type Type
     * @return com.dxl.base.Result boolean
     * <br><br>Date: 2019-10-03     <br>Author : dxl
     */
    public Result isTypeAddable(Type type);

    /**
     * <b> 文件类型能否编辑
     * </b><br><br><i>Description</i> : 不能重复：文件类型后缀-type_suffix 
     * @param type Type
     * @return com.dxl.base.Result boolean
     * <br><br>Date: 2019-10-03     <br>Author : dxl
     */
    public Result isTypeEditable(Type type);

}
